go/types.operand.mode (field)
318 uses
go/types (current package)
api_predicates.go#L34: x := operand{mode: value, typ: V}
api_predicates.go#L45: x := operand{mode: value, typ: V}
assignments.go#L27: switch x.mode {
assignments.go#L39: x.mode = invalid
assignments.go#L54: x.mode = invalid
assignments.go#L64: x.mode = invalid
assignments.go#L82: x.mode = invalid
assignments.go#L99: x.mode = invalid
assignments.go#L117: x.mode = invalid
assignments.go#L122: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L130: if x.mode != constant_ {
assignments.go#L145: if x.mode == invalid {
assignments.go#L157: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L161: x.mode = invalid
assignments.go#L173: x.mode = invalid
assignments.go#L222: if x.mode == invalid || !isValid(x.typ) {
assignments.go#L228: switch x.mode {
assignments.go#L237: if op.mode == mapindex {
assignments.go#L256: x.mode = invalid
assignments.go#L447: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L455: if rhs[0].mode != invalid {
assignments.go#L511: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L519: if rhs[0].mode != invalid {
builtins.go#L59: if a.mode == invalid {
builtins.go#L128: x.mode = value
builtins.go#L141: x.mode = value
builtins.go#L155: if x.mode == constant_ {
builtins.go#L226: x.mode = mode
builtins.go#L245: x.mode = novalue
builtins.go#L266: x.mode = novalue
builtins.go#L301: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L316: if x.mode == invalid || y.mode == invalid {
builtins.go#L349: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L352: x.mode = value
builtins.go#L355: if check.recordTypes() && x.mode != constant_ {
builtins.go#L385: x.mode = value
builtins.go#L412: if x.mode == invalid {
builtins.go#L416: x.mode = novalue
builtins.go#L427: if x.mode == constant_ {
builtins.go#L440: if x.mode == invalid {
builtins.go#L473: if x.mode == constant_ {
builtins.go#L480: x.mode = value
builtins.go#L483: if check.recordTypes() && x.mode != constant_ {
builtins.go#L530: x.mode = value
builtins.go#L547: if a.mode == invalid {
builtins.go#L559: if x.mode == invalid {
builtins.go#L568: if x.mode == constant_ && a.mode == constant_ {
builtins.go#L573: x.mode = value
builtins.go#L579: if x.mode != constant_ {
builtins.go#L580: x.mode = value
builtins.go#L583: if x.mode == invalid {
builtins.go#L593: if check.recordTypes() && x.mode != constant_ {
builtins.go#L609: x.mode = value
builtins.go#L631: if x.mode == invalid {
builtins.go#L635: x.mode = novalue
builtins.go#L648: if a.mode == invalid {
builtins.go#L655: x.mode = novalue
builtins.go#L662: x.mode = value
builtins.go#L673: if x.mode == invalid {
builtins.go#L682: x.mode = value
builtins.go#L691: if x.mode == invalid {
builtins.go#L696: x.mode = value
builtins.go#L701: x.mode = constant_
builtins.go#L719: if x.mode == invalid {
builtins.go#L749: if x.mode == variable || indirect {
builtins.go#L760: x.mode = value
builtins.go#L770: x.mode = constant_
builtins.go#L779: if x.mode == invalid {
builtins.go#L784: x.mode = value
builtins.go#L794: x.mode = constant_
builtins.go#L815: x.mode = value
builtins.go#L831: x.mode = value
builtins.go#L842: if x.mode == invalid {
builtins.go#L851: x.mode = value
builtins.go#L862: if x.mode == invalid {
builtins.go#L866: x.mode = value
builtins.go#L876: if x.mode != constant_ || !isBoolean(x.typ) {
builtins.go#L898: x.mode = novalue
builtins.go#L908: if x.mode == invalid {
builtins.go#L917: assert(x.mode != invalid)
call.go#L54: x.mode = invalid
call.go#L68: x.mode = invalid
call.go#L105: args = []*operand{{mode: value, expr: expr, typ: T.sig}}
call.go#L119: x.mode = invalid
call.go#L129: x.mode = value
call.go#L180: assert(x.mode == value)
call.go#L191: switch x.mode {
call.go#L200: if x.mode == invalid {
call.go#L204: x.mode = invalid
call.go#L210: if x.mode != invalid {
call.go#L234: x.mode = invalid
call.go#L238: if x.mode != invalid && x.mode != constant_ {
call.go#L246: cgocall := x.mode == cgofunc
call.go#L252: x.mode = invalid
call.go#L268: x.mode = invalid
call.go#L279: x.mode = invalid
call.go#L311: x.mode = novalue
call.go#L314: x.mode = commaerr
call.go#L316: x.mode = value
call.go#L320: x.mode = value
call.go#L328: if x.mode == value && sig.TypeParams().Len() > 0 && isParameterized(sig.TypeParams().list(), x.typ) {
call.go#L329: x.mode = invalid
call.go#L407: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
call.go#L411: resList[i] = &operand{mode: value, expr: e, typ: v.typ}
call.go#L741: x.mode = constant_
call.go#L745: x.mode = typexpr
call.go#L748: x.mode = variable
call.go#L754: x.mode = funcMode
call.go#L757: x.mode = value
call.go#L761: x.mode = builtin
call.go#L774: switch x.mode {
call.go#L808: obj, index, indirect = lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, false)
call.go#L822: if x.mode == typexpr {
call.go#L834: alt, _, _ := lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, true)
call.go#L846: if x.mode == typexpr {
call.go#L883: x.mode = value
call.go#L898: if x.mode == variable || indirect {
call.go#L899: x.mode = variable
call.go#L901: x.mode = value
call.go#L924: if x.mode == variable {
call.go#L955: x.mode = value
call.go#L974: x.mode = invalid
call.go#L1002: x.mode = value // anything but invalid
call.go#L1034: return x.mode != invalid
const.go#L23: assert(x.mode == constant_)
const.go#L243: x.mode = invalid
const.go#L255: assert(x.mode == constant_)
const.go#L297: x.mode = invalid
conversions.go#L21: constArg := x.mode == constant_
conversions.go#L53: x.mode = invalid
conversions.go#L82: x.mode = value // type parameters are not constants
conversions.go#L86: x.mode = value
conversions.go#L95: x.mode = invalid
conversions.go#L116: } else if x.mode == constant_ && isInteger(x.typ) && allString(T) {
expr.go#L131: if x.mode == invalid {
expr.go#L140: if _, ok := ast.Unparen(e.X).(*ast.CompositeLit); !ok && x.mode != variable {
expr.go#L142: x.mode = invalid
expr.go#L145: x.mode = value
expr.go#L153: x.mode = invalid
expr.go#L159: x.mode = invalid
expr.go#L164: x.mode = invalid
expr.go#L168: x.mode = commaok
expr.go#L177: x.mode = invalid
expr.go#L185: x.mode = invalid
expr.go#L189: if x.mode == constant_ {
expr.go#L204: x.mode = value
expr.go#L334: if c.mode == invalid {
expr.go#L358: if x.mode == invalid || isTyped(x.typ) || !isValid(target) {
expr.go#L373: if x.mode == constant_ {
expr.go#L455: x.mode = invalid
expr.go#L530: if x.mode == constant_ && y.mode == constant_ {
expr.go#L535: x.mode = value
expr.go#L572: x.mode = invalid
expr.go#L595: if x.mode == constant_ {
expr.go#L605: x.mode = invalid
expr.go#L615: if y.mode == constant_ {
expr.go#L620: x.mode = invalid
expr.go#L628: if y.mode == invalid {
expr.go#L629: x.mode = invalid
expr.go#L638: x.mode = invalid
expr.go#L645: if y.mode == invalid {
expr.go#L646: x.mode = invalid
expr.go#L651: x.mode = invalid
expr.go#L656: if x.mode == constant_ {
expr.go#L657: if y.mode == constant_ {
expr.go#L672: x.mode = invalid
expr.go#L715: x.mode = value
expr.go#L723: x.mode = invalid
expr.go#L727: x.mode = value
expr.go#L759: if x.mode == invalid {
expr.go#L762: if y.mode == invalid {
expr.go#L763: x.mode = invalid
expr.go#L774: if x.mode == invalid {
expr.go#L797: x.mode = invalid
expr.go#L802: x.mode = invalid
expr.go#L808: if (x.mode == constant_ || allInteger(x.typ)) && y.mode == constant_ && constant.Sign(y.val) == 0 {
expr.go#L810: x.mode = invalid
expr.go#L815: if x.mode == constant_ && y.mode == constant_ && isComplex(x.typ) {
expr.go#L820: x.mode = invalid
expr.go#L826: if x.mode == constant_ && y.mode == constant_ {
expr.go#L843: x.mode = value
expr.go#L896: if x.mode == invalid {
expr.go#L900: if y.mode == invalid {
expr.go#L901: x.mode = invalid
expr.go#L967: if x.mode == invalid || x.mode == novalue {
expr.go#L987: x.mode = invalid
expr.go#L998: x.mode = invalid
expr.go#L1016: if x.mode == invalid {
expr.go#L1022: if x.mode == invalid {
expr.go#L1028: if x.mode == invalid {
expr.go#L1049: if x.mode == invalid {
expr.go#L1055: if x.mode == invalid {
expr.go#L1061: if x.mode == invalid {
expr.go#L1084: x.mode = commaok
expr.go#L1092: switch x.mode {
expr.go#L1115: x.mode = variable
expr.go#L1121: if x.mode == invalid {
expr.go#L1131: if x.mode == invalid {
expr.go#L1142: x.mode = typexpr
expr.go#L1159: x.mode = invalid
expr.go#L1249: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
expr.go#L1253: list[i] = &operand{mode: value, expr: e, typ: v.typ}
expr.go#L1260: if allowCommaOk && (x.mode == mapindex || x.mode == commaok || x.mode == commaerr) {
expr.go#L1261: x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]}
expr.go#L1262: if x.mode == commaerr {
expr.go#L1295: if modeset&(1<<x.mode) != 0 {
expr.go#L1298: switch x.mode {
expr.go#L1316: x.mode = invalid
expr.go#L1322: if x.mode == value {
expr.go#L1327: x.mode = invalid
index.go#L23: switch x.mode {
index.go#L30: x.mode = invalid
index.go#L34: x.mode = typexpr
index.go#L47: if x.mode == invalid {
index.go#L58: if x.mode == constant_ {
index.go#L64: x.mode = value
index.go#L71: if x.mode != variable {
index.go#L72: x.mode = value
index.go#L80: x.mode = variable
index.go#L86: x.mode = variable
index.go#L92: x.mode = invalid
index.go#L99: x.mode = mapindex
index.go#L124: if x.mode != variable {
index.go#L166: x.mode = invalid
index.go#L173: x.mode = mapindex
index.go#L181: x.mode = mode
index.go#L190: x.mode = invalid
index.go#L196: x.mode = invalid
index.go#L213: if x.mode == invalid {
index.go#L223: x.mode = invalid
index.go#L234: x.mode = invalid
index.go#L238: if x.mode == constant_ {
index.go#L251: if x.mode != variable {
index.go#L253: x.mode = invalid
index.go#L272: x.mode = invalid
index.go#L276: x.mode = value
index.go#L281: x.mode = invalid
index.go#L359: if x.mode != constant_ {
index.go#L379: if x.mode == invalid {
index.go#L385: if x.mode == invalid {
index.go#L395: if x.mode == constant_ {
infer.go#L68: if arg.mode == invalid {
infer.go#L168: if arg.mode == invalid {
literals.go#L64: x.mode = invalid
literals.go#L69: if x.mode == invalid {
literals.go#L75: x.mode = invalid
literals.go#L103: x.mode = value
literals.go#L107: x.mode = invalid
literals.go#L155: x.mode = invalid
literals.go#L236: x.mode = invalid
literals.go#L264: x.mode = invalid
literals.go#L274: x.mode = invalid
literals.go#L290: if x.mode == invalid {
literals.go#L293: if x.mode == constant_ {
literals.go#L340: x.mode = invalid
literals.go#L345: x.mode = value
operand.go#L60: mode operandMode
operand.go#L116: if x.mode == nilvalue {
operand.go#L127: if x.mode == value && x.typ == Typ[UntypedNil] {
operand.go#L138: switch x.mode {
operand.go#L156: switch x.mode {
operand.go#L172: buf.WriteString(operandModeString[x.mode])
operand.go#L175: if x.mode == constant_ {
operand.go#L288: x.mode = invalid
operand.go#L292: x.mode = constant_
operand.go#L300: return x.mode == nilvalue
operand.go#L302: return x.mode == value && x.typ == Typ[UntypedNil]
operand.go#L313: if x.mode == invalid || !isValid(T) {
recording.go#L23: switch x.mode {
recording.go#L39: check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val)
recording.go#L41: check.recordTypeAndValue(x.expr, x.mode, typ, val)
recording.go#L100: if a[0].mode == invalid {
stmt.go#L240: if x.mode == invalid || v.mode == invalid {
stmt.go#L244: if v.mode == invalid {
stmt.go#L250: if res.mode == invalid {
stmt.go#L253: if v.mode != constant_ {
stmt.go#L446: switch x.mode {
stmt.go#L466: if ch.mode == invalid || val.mode == invalid {
stmt.go#L499: if x.mode == invalid {
stmt.go#L509: if x.mode == invalid {
stmt.go#L541: if x.mode == invalid {
stmt.go#L622: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L649: if x.mode != invalid && !Comparable(x.typ) && !hasNil(x.typ) {
stmt.go#L651: x.mode = invalid
stmt.go#L656: x.mode = constant_
stmt.go#L741: if x.mode != invalid {
stmt.go#L850: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L894: if x.mode != invalid {
stmt.go#L967: y.mode = value
stmt.go#L1003: if x.mode != invalid && !isInteger(x.typ) {
stmt.go#L1008: y.mode = value
typexpr.go#L22: x.mode = invalid
typexpr.go#L108: x.mode = constant_
typexpr.go#L115: x.mode = typexpr
typexpr.go#L128: x.mode = variable
typexpr.go#L132: x.mode = value
typexpr.go#L136: x.mode = builtin
typexpr.go#L139: x.mode = value
typexpr.go#L260: switch x.mode {
typexpr.go#L277: switch x.mode {
typexpr.go#L527: if x.mode != constant_ {
typexpr.go#L528: if x.mode != invalid {